User Stories

Ziele von User Stories

User Stories sind ein zentrales Element in der agilen Softwareentwicklung. Sie dienen dazu, die Anforderungen aus Sicht des Endbenutzers zu beschreiben und den Fokus auf den Mehrwert für den Benutzer zu legen. Die Hauptziele von User Stories sind:

  1. Kundenzentrierung: Sicherstellung, dass die Entwicklung den tatsächlichen Bedürfnissen der Benutzer entspricht.
  2. Kommunikation: Förderung des Dialogs zwischen Entwicklern, Kunden und anderen Stakeholdern.
  3. Priorisierung: Unterstützung bei der Priorisierung von Aufgaben basierend auf dem Geschäftswert und den Benutzeranforderungen.
  4. Flexibilität: Erleichterung der Anpassung an sich ändernde Anforderungen und Umstände.
  5. Transparenz: Verbesserung der Nachvollziehbarkeit und Klarheit der Anforderungen.

Anwendung von User Stories

User Stories werden während des gesamten Entwicklungsprozesses verwendet, um Anforderungen zu definieren, zu diskutieren und umzusetzen. Sie sind besonders nützlich in agilen Methoden wie Scrum und Kanban. Der typische Workflow umfasst:

  1. Erstellung: Stakeholder und Produktbesitzer schreiben User Stories, um die Anforderungen zu definieren.
  2. Diskussion: Das Team bespricht die Stories, um ein gemeinsames Verständnis zu entwickeln.
  3. Schätzung: Das Team schätzt den Aufwand für die Umsetzung der Stories.
  4. Priorisierung: Stories werden nach ihrem Geschäftswert und ihrer Dringlichkeit priorisiert.
  5. Umsetzung: Das Entwicklungsteam implementiert die Stories während der Sprints oder Iterationen.
  6. Überprüfung: Am Ende des Sprints wird die umgesetzte Story mit dem Kunden oder Produktbesitzer überprüft und abgenommen.

Format einer User Story

Eine User Story folgt einem einfachen und klaren Format, das typischerweise aus drei Teilen besteht:

  1. Rolle (Role): Wer ist der Benutzer oder die Benutzergruppe, für die die Anforderung gilt?
  2. Ziel (Goal): Was möchte der Benutzer erreichen?
  3. Nutzen (Benefit): Warum ist dieses Ziel für den Benutzer wichtig?

Ein gängiges Template für User Stories lautet:

Als [Rolle] möchte ich [Ziel], damit [Nutzen].

Beispiel:

Als Online-Shopper möchte ich Produkte in meinem Warenkorb speichern, damit ich meinen Einkauf später fortsetzen kann.

Zusammenhang zwischen Epics, Themes und Stories

  • Epics: Große, grob umrissene User Stories, die in kleinere Stories unterteilt werden können. Epics sind oft zu groß, um in einem einzigen Sprint abgeschlossen zu werden.
  • Themes: Eine Sammlung von User Stories, die zu einem gemeinsamen übergeordneten Ziel oder Thema gehören. Themes helfen dabei, zusammenhängende Anforderungen zu organisieren und zu verwalten.
  • User Stories: Kleinere, spezifische Anforderungen, die in einem Sprint umgesetzt werden können. Sie sind detaillierter und fokussierter als Epics und Themes.

Beispiel:

  • Theme: Benutzerverwaltung
    • Epic: Benutzerregistrierung
      • User Story: Als neuer Benutzer möchte ich mich registrieren können, damit ich den Service nutzen kann.
      • User Story: Als Benutzer möchte ich mein Passwort zurücksetzen können, damit ich wieder Zugang zu meinem Konto erhalte.

Merkmale einer guten User Story

Eine gute User Story erfüllt die INVEST-Kriterien:

  1. Independent (Unabhängig): Die Story sollte so weit wie möglich unabhängig von anderen Stories sein.
  2. Negotiable (Verhandelbar): Die Details der Story sollten verhandelbar und nicht in Stein gemeißelt sein.
  3. Valuable (Wertvoll): Die Story sollte für den Endbenutzer oder den Kunden einen klaren Mehrwert bieten.
  4. Estimable (Schätzbar): Das Team sollte in der Lage sein, den Aufwand für die Umsetzung der Story zu schätzen.
  5. Small (Klein): Die Story sollte klein genug sein, um in einem Sprint umgesetzt werden zu können.
  6. Testable (Testbar): Es sollte klar sein, wie die erfolgreiche Umsetzung der Story überprüft werden kann.

Beispiel für eine gute User Story:

Als registrierter Benutzer möchte ich eine Liste meiner letzten Bestellungen sehen, damit ich schnell auf meine vergangenen Käufe zugreifen kann.
  • Independent: Kann unabhängig von anderen Features implementiert werden.
  • Negotiable: Details können diskutiert und angepasst werden.
  • Valuable: Bietet dem Benutzer einen klaren Nutzen.
  • Estimable: Aufwand kann geschätzt werden.
  • Small: Kann innerhalb eines Sprints abgeschlossen werden.
  • Testable: Erfolgskriterien sind klar definierbar.

Zusammenfassung

User Stories sind ein wesentlicher Bestandteil der agilen Softwareentwicklung, um die Anforderungen klar, fokussiert und benutzerorientiert zu definieren. Durch die Strukturierung in Epics, Themes und Stories können komplexe Anforderungen organisiert und verwaltet werden. Gute User Stories zeichnen sich durch die Erfüllung der INVEST-Kriterien aus, was zu einer effektiven und effizienten Umsetzung führt.